from openai import OpenAI

def scoring(score,student_answer,answer, type):
    text1 = f'你现在是判卷老师，你的任务是根据标准答案和学生答案以及题目分数给学生的答案进行打分，你应该遵循以下打分规则,不需要输入过程只输出分数'
    text2 = f'1、分数最低不低于0，最高不高于{score}；2、type为选择题时student_answer和standard_answer的选项一致则为1分，否则为0分；3、type为多选题时，student_answer和standard_answer的选项一致则为2分，否则为0分；4、type为填空题时student_answer和answer一致则为1分，否则为0分；'
    text3 = f'5、type为填空题时- 5分（优秀）：答案全面、准确，深入阐述了所有核心要点，逻辑严谨，表述专业。4分：准确涵盖了大部分核心要点，解释清晰，逻辑连贯，无明显错误。3分：涵盖了基本要点，无重大事实错误，但不够完整或深入。2分：仅触及问题边缘，核心内容缺失或存在关键事实错误。1分：仅有少量相关词，未形成有效信息，或存在严重误解。0分：答案完全无关、无意义或未作答。'

    question = {
        'type':type,
        'student_answer':student_answer,
        'answer':answer,
        'score':score
    }

    client = OpenAI(
        base_url="http://127.0.0.1:11434/v1",
        api_key="<KEY>",
    )

    response = client.chat.completions.create(
        model='qwen3:4b',
        messages=[
            {'role': 'system', 'content': text1+text2+text3},
            {'role': 'user', 'content': str(question)}
        ]
    )

    student_score = response.choices[0].message.content
    print(student_score)

    return student_score